package com.penghaisoft.microwms.base.web.data.service;


import com.penghaisoft.microwms.common.data.model.MdRegion;
import com.penghaisoft.microwms.common.dto.Resp;
import com.penghaisoft.microwms.common.page.Pager;

import java.util.List;

/**
 * @Description 区域 维护
 * @author luoteng
 * @date 2017年5月24日 下午3:36:18
 * @version 1.0
 */
public interface IMdRegionService {

	/**
	 * @Title create
	 * @Description 区域 新增
	 * @author luoteng
	 * @date 2017年5月24日 下午3:36:30
	 * @param mdRegion
	 * @return Resp
	 */
	public Resp create(MdRegion mdRegion);

	/**
	 * @Title delete
	 * @Description 区域 删除
	 * @author luoteng
	 * @date 2017年5月24日 下午3:36:44
	 * @param mdRegion
	 * @return Resp
	 */
	public Resp delete(MdRegion mdRegion);

	/**
	 * @Title findListByCondition
	 * @Description 区域 查询列表
	 * @author luoteng
	 * @date 2017年5月24日 下午3:36:54
	 * @param page
	 * @param rows
	 * @param condition
	 * @return Pager<MdRegion>
	 */
	public Pager<MdRegion> findListByCondition(int page, int rows,
											   MdRegion condition);

	/**
	 * @Title findById
	 * @Description 区域 根据主键ID查询
	 * @author luoteng
	 * @date 2017年5月24日 下午3:37:03
	 * @param id
	 * @return MdRegion
	 */
	public MdRegion findById(String id);

	/**
	 * @Title update
	 * @Description 区域 更新
	 * @author luoteng
	 * @date 2017年5月24日 下午3:37:18
	 * @param mdRegion
	 * @return Resp
	 */
	public Resp update(MdRegion mdRegion);

	/**
	 * @Title queryMdRegionAll
	 * @Description 查询所有有效的区域信息（区域编码、区域描述） --下拉框用
	 * @author luoteng
	 * @date 2017年5月24日 下午3:37:25
	 * @return List<MdRegion>
	 */
	List<MdRegion> queryMdRegionAll();

	/**
	 * @Title queryRegionsUnderWareHouse
	 * @Description 根据 仓库编码 查询区域信息
	 * @author luoteng
	 * @date 2017年5月24日 下午3:37:40
	 * @param condition
	 * @return List<MdRegion>
	 */
	public List<MdRegion> queryRegionsUnderWareHouse(MdRegion condition);
	
	/** 
	 * @Title queryFromToRegions
	 * @Description  查询区域信息
	 * @author gaofeng
	 * @date 2017年9月1日 下午1:32:11
	 * @param condition
	 * @return List<MdRegion>
	 */
	public List<MdRegion> queryFromToRegions(MdRegion condition);
	
	public List<MdRegion> queryFactory(MdRegion condition);
	
	public List<MdRegion> queryFactory1(MdRegion condition);
	
	/** 
	 * @Title queryFactoryAll
	 * @Description 查询当前工厂相关的内裤、外库工厂
	 * @author luoteng
	 * @date 2017年11月7日:下午1:15:10
	 * @param condition
	 * @return List<MdRegion>
	 */
	public List<MdRegion> queryFactoryAll(MdRegion condition);
	
	/** 
	 * @Title queryByAny
	 * @Description 查询所有数据
	 * @author luoteng
	 * @date 2017年11月9日:上午9:59:25
	 * @param condition
	 * @return List<MdRegion>
	 */
	public List<MdRegion> queryByAny(MdRegion condition);
	
	/** 
	 * @Title queryByAny
	 * @Description 查询当前工厂相关的外库工厂
	 * @author wangzhiguo
	 * @date 2017年12月5日:下午18:29:25
	 * @param condition
	 * @return List<MdRegion>
	 */
	public List<MdRegion> queryWkByCode(MdRegion condition);
}
